home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / packer / xpkarchive / examples / xnote.c < prev    next >
C/C++ Source or Header  |  1995-03-09  |  1KB  |  54 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. #include <libraries/xpkarchive.h>
  5.  
  6. struct Library *XpkArchiveBase;
  7.  
  8. main(int argc,char *argv[])
  9. {
  10.    char *p;
  11.    int gen=0;
  12.    XarHandle *arc;
  13.    LONG Error;
  14.  
  15.    XpkArchiveBase=OpenLibrary("xpkarchive.library",1);
  16.    if(!XpkArchiveBase) {
  17.       fprintf(stderr,"Cannot open xpkarchive.library\n");
  18.       exit(0);
  19.    }
  20.  
  21.    if(argc!=4) {
  22.       fprintf(stderr,"Usage: %s <arc> <name> <newnote>\n",argv[0]);
  23.       goto fail1;
  24.    }
  25.  
  26.    if(!(arc=XarOpenArchive(XAR_ArchiveName,argv[1],
  27.                            XAR_Error,&Error,TAG_DONE))) {
  28.       fprintf(stderr,"Cannot open source archive.Error: %ld\n",Error);
  29.       goto fail1;
  30.    }
  31.  
  32.  
  33.    if(p=rindex(argv[2],',')) {
  34.       *p=0;
  35.       sscanf(p+1,"%d",&gen);
  36.       gen--;
  37.    }
  38.  
  39.    printf("%s,%d\n",argv[2],gen+1);
  40.  
  41.    printf("R: %ld\n",XarSetFileNote(XAR_Archive,arc,
  42.                                XAR_FileName,argv[2],
  43.                                XAR_Generation,gen,
  44.                                XAR_FileNote,argv[3],
  45.                                TAG_DONE));
  46.  
  47.    XarCloseArchive(arc);
  48. fail1:
  49.    CloseLibrary(XpkArchiveBase);
  50.    exit(0);
  51.  
  52. }
  53.  
  54.